package algorithm.common;

/**
 * @Author: Hevery
 * @Description:
 * @Date: Created on 2017/9/10
 * @Modified By:
 */
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Scanner;

public class Main9 {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int m=sc.nextInt();
        int c=sc.nextInt();
        Map<Integer, HashSet<Integer>> map=new HashMap<>();
        for(int i=0;i<n;i++){
            int t=sc.nextInt();
            HashSet<Integer> set=new HashSet<>();
            for(int j=0;j<t;j++){
                set.add(sc.nextInt());
            }
            map.put(i,set);
        }
        int count=0;
        boolean bool=false;
        for(int i=1;i<=c;i++){
            for(int j=0;j<n;j++){
                HashSet<Integer> set=map.get(j);
                if(set.contains(i)){
                    for(int k=1;k<m;k++){
                        int t=(k+j)%n;
                        if(map.get(t).contains(i)){
                            count++;
                            bool=true;
                            break;
                        }
                    }
                }
                if(bool==true){
                    bool=false;
                    break;
                }
            }
        }
        System.out.println(count);
    }
}